 :root {
   /* 主色调 */
   --primary-color: #0080FF;
   /* 悬停色 */
   --primary-hover-color: #CCE6FF;
   /* 激活色 */
   --primary-active-color: #0080FF;
   /* 文本色 */
   --text-color: #262626;
   /* 文本色 */
   --text-gray-color: #8c8c8c;
   /* 文本色 */
   --bg-gray: #f1f2f5;
   /* 边框色 */
   --border-color: rgba(0, 0, 0, .12);
 }

  /**自定义滚动条样式 */
  ::-webkit-scrollbar{width:2px;height:6px}
  ::-webkit-scrollbar-track{background-color:transparent;-webkit-border-radius:2em;-moz-border-radius:2em;border-radius:2em}
  ::-webkit-scrollbar-thumb{background-color:#9c9da0;-webkit-border-radius:2em;-moz-border-radius:2em;border-radius:2em}

/* ======================
   CSS 间距系统
   ====================== */

/* 基础间距单位 */
:root {
  --space-unit: 8px;
}

/* 间距倍数 */
:root {
  --space-0: 0;
  --space-1: calc(0.25 * var(--space-unit));  /* 2px */
  --space-2: calc(0.5 * var(--space-unit));   /* 4px */
  --space-3: calc(var(--space-unit));         /* 8px */
  --space-4: calc(1.5 * var(--space-unit));   /* 12px */
  --space-5: calc(2 * var(--space-unit));     /* 16px */
  --space-6: calc(3 * var(--space-unit));     /* 24px */
  --space-7: calc(4 * var(--space-unit));     /* 32px */
  --space-8: calc(6 * var(--space-unit));     /* 48px */
  --space-9: calc(8 * var(--space-unit));     /* 64px */
}

/* ======================
   Margin 工具类
   ====================== */

/* 全方向 margin */
.m-0 { margin: var(--space-0); }
.m-1 { margin: var(--space-1); }
.m-2 { margin: var(--space-2); }
.m-3 { margin: var(--space-3); }
.m-4 { margin: var(--space-4); }
.m-5 { margin: var(--space-5); }
.m-6 { margin: var(--space-6); }
.m-7 { margin: var(--space-7); }
.m-8 { margin: var(--space-8); }
.m-9 { margin: var(--space-9); }

/* 单方向 margin */
/* top */
.mt-0 { margin-top: var(--space-0); }
.mt-1 { margin-top: var(--space-1); }
.mt-2 { margin-top: var(--space-2); }
.mt-3 { margin-top: var(--space-3); }
.mt-4 { margin-top: var(--space-4); }
.mt-5 { margin-top: var(--space-5); }
.mt-6 { margin-top: var(--space-6); }
.mt-7 { margin-top: var(--space-7); }
.mt-8 { margin-top: var(--space-8); }
.mt-9 { margin-top: var(--space-9); }

/* right */
.mr-0 { margin-right: var(--space-0); }
.mr-1 { margin-right: var(--space-1); }
.mr-2 { margin-right: var(--space-2); }
.mr-3 { margin-right: var(--space-3); }
.mr-4 { margin-right: var(--space-4); }
.mr-5 { margin-right: var(--space-5); }
.mr-6 { margin-right: var(--space-6); }
.mr-7 { margin-right: var(--space-7); }
.mr-8 { margin-right: var(--space-8); }
.mr-9 { margin-right: var(--space-9); }

/* bottom */
.mb-0 { margin-bottom: var(--space-0); }
.mb-1 { margin-bottom: var(--space-1); }
.mb-2 { margin-bottom: var(--space-2); }
.mb-3 { margin-bottom: var(--space-3); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-5 { margin-bottom: var(--space-5); }
.mb-6 { margin-bottom: var(--space-6); }
.mb-7 { margin-bottom: var(--space-7); }
.mb-8 { margin-bottom: var(--space-8); }
.mb-9 { margin-bottom: var(--space-9); }

/* left */
.ml-0 { margin-left: var(--space-0)!important; }
.ml-1 { margin-left: var(--space-1); }
.ml-2 { margin-left: var(--space-2); }
.ml-3 { margin-left: var(--space-3); }
.ml-4 { margin-left: var(--space-4); }
.ml-5 { margin-left: var(--space-5); }
.ml-6 { margin-left: var(--space-6); }
.ml-7 { margin-left: var(--space-7); }
.ml-8 { margin-left: var(--space-8); }
.ml-9 { margin-left: var(--space-9); }

/* 水平方向 margin */
.mx-0 { margin-left: var(--space-0); margin-right: var(--space-0); }
.mx-1 { margin-left: var(--space-1); margin-right: var(--space-1); }
.mx-2 { margin-left: var(--space-2); margin-right: var(--space-2); }
.mx-3 { margin-left: var(--space-3); margin-right: var(--space-3); }
.mx-4 { margin-left: var(--space-4); margin-right: var(--space-4); }
.mx-5 { margin-left: var(--space-5); margin-right: var(--space-5); }
.mx-6 { margin-left: var(--space-6); margin-right: var(--space-6); }
.mx-7 { margin-left: var(--space-7); margin-right: var(--space-7); }
.mx-8 { margin-left: var(--space-8); margin-right: var(--space-8); }
.mx-9 { margin-left: var(--space-9); margin-right: var(--space-9); }

/* 垂直方向 margin */
.my-0 { margin-top: var(--space-0); margin-bottom: var(--space-0); }
.my-1 { margin-top: var(--space-1); margin-bottom: var(--space-1); }
.my-2 { margin-top: var(--space-2); margin-bottom: var(--space-2); }
.my-3 { margin-top: var(--space-3); margin-bottom: var(--space-3); }
.my-4 { margin-top: var(--space-4); margin-bottom: var(--space-4); }
.my-5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
.my-6 { margin-top: var(--space-6); margin-bottom: var(--space-6); }
.my-7 { margin-top: var(--space-7); margin-bottom: var(--space-7); }
.my-8 { margin-top: var(--space-8); margin-bottom: var(--space-8); }
.my-9 { margin-top: var(--space-9); margin-bottom: var(--space-9); }

/* ======================
   Padding 工具类
   ====================== */

/* 全方向 padding */
.p-0 { padding: var(--space-0) !important; }
.p-1 { padding: var(--space-1); }
.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }
.p-5 { padding: var(--space-5); }
.p-6 { padding: var(--space-6); }
.p-7 { padding: var(--space-7); }
.p-8 { padding: var(--space-8); }
.p-9 { padding: var(--space-9); }

/* 单方向 padding */
/* top */
.pt-0 { padding-top: var(--space-0); }
.pt-1 { padding-top: var(--space-1); }
.pt-2 { padding-top: var(--space-2); }
.pt-3 { padding-top: var(--space-3); }
.pt-4 { padding-top: var(--space-4); }
.pt-5 { padding-top: var(--space-5); }
.pt-6 { padding-top: var(--space-6); }
.pt-7 { padding-top: var(--space-7); }
.pt-8 { padding-top: var(--space-8); }
.pt-9 { padding-top: var(--space-9); }

/* right */
.pr-0 { padding-right: var(--space-0); }
.pr-1 { padding-right: var(--space-1); }
.pr-2 { padding-right: var(--space-2); }
.pr-3 { padding-right: var(--space-3); }
.pr-4 { padding-right: var(--space-4); }
.pr-5 { padding-right: var(--space-5); }
.pr-6 { padding-right: var(--space-6); }
.pr-7 { padding-right: var(--space-7); }
.pr-8 { padding-right: var(--space-8); }
.pr-9 { padding-right: var(--space-9); }

/* bottom */
.pb-0 { padding-bottom: var(--space-0) !important; }
.pb-1 { padding-bottom: var(--space-1); }
.pb-2 { padding-bottom: var(--space-2); }
.pb-3 { padding-bottom: var(--space-3); }
.pb-4 { padding-bottom: var(--space-4); }
.pb-5 { padding-bottom: var(--space-5); }
.pb-6 { padding-bottom: var(--space-6); }
.pb-7 { padding-bottom: var(--space-7); }
.pb-8 { padding-bottom: var(--space-8); }
.pb-9 { padding-bottom: var(--space-9); }

/* left */
.pl-0 { padding-left: var(--space-0); }
.pl-1 { padding-left: var(--space-1); }
.pl-2 { padding-left: var(--space-2); }
.pl-3 { padding-left: var(--space-3); }
.pl-4 { padding-left: var(--space-4); }
.pl-5 { padding-left: var(--space-5); }
.pl-6 { padding-left: var(--space-6); }
.pl-7 { padding-left: var(--space-7); }
.pl-8 { padding-left: var(--space-8); }
.pl-9 { padding-left: var(--space-9); }

/* 水平方向 padding */
.px-0 { padding-left: var(--space-0)!important; padding-right: var(--space-0) !important; }
.px-1 { padding-left: var(--space-1); padding-right: var(--space-1); }
.px-2 { padding-left: var(--space-2); padding-right: var(--space-2); }
.px-3 { padding-left: var(--space-3); padding-right: var(--space-3); }
.px-4 { padding-left: var(--space-4); padding-right: var(--space-4); }
.px-5 { padding-left: var(--space-5); padding-right: var(--space-5); }
.px-6 { padding-left: var(--space-6); padding-right: var(--space-6); }
.px-7 { padding-left: var(--space-7); padding-right: var(--space-7); }
.px-8 { padding-left: var(--space-8); padding-right: var(--space-8); }
.px-9 { padding-left: var(--space-9); padding-right: var(--space-9); }

/* 垂直方向 padding */
.py-0 { padding-top: var(--space-0); padding-bottom: var(--space-0); }
.py-1 { padding-top: var(--space-1); padding-bottom: var(--space-1); }
.py-2 { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.py-3 { padding-top: var(--space-3); padding-bottom: var(--space-3); }
.py-4 { padding-top: var(--space-4); padding-bottom: var(--space-4); }
.py-5 { padding-top: var(--space-5); padding-bottom: var(--space-5); }
.py-6 { padding-top: var(--space-6); padding-bottom: var(--space-6); }
.py-7 { padding-top: var(--space-7); padding-bottom: var(--space-7); }
.py-8 { padding-top: var(--space-8); padding-bottom: var(--space-8); }
.py-9 { padding-top: var(--space-9); padding-bottom: var(--space-9); }

/* ======================
   自动间距
   ====================== */
.m-auto { margin: auto; }
.mx-auto { margin-left: auto; margin-right: auto; }
.my-auto { margin-top: auto; margin-bottom: auto; }
.mt-auto { margin-top: auto; }
.mr-auto { margin-right: auto; }
.mb-auto { margin-bottom: auto; }
.ml-auto { margin-left: auto; }


/* ======================
   响应式间距 (示例)
   ====================== */
@media (min-width: 640px) {
  .sm\:m-3 { margin: var(--space-3); }
  .sm\:p-4 { padding: var(--space-4); }
  /* 其他响应式类... */
}

@media (min-width: 768px) {
  .md\:mt-4 { margin-top: var(--space-4); }
  .md\:px-6 { padding-left: var(--space-6); padding-right: var(--space-6); }
  /* 其他响应式类... */
}

@media (min-width: 1024px) {
  .lg\:my-5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
  .lg\:py-8 { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  /* 其他响应式类... */
}
.inline-block{
  display: inline-block;
}
.radius{border-radius: 6px;}
/* ==================
          边框
 ==================== */

/* -- 实线 -- */
.dashed,.dashed-bottom,.dashed-left,.dashed-right,.dashed-top,.solid,.solid-bottom,.solid-left,.solid-right,.solid-top,.solids,.solids-bottom,.solids-left,.solids-right,.solids-top{position:relative}
.dashed-bottom::after,.dashed-left::after,.dashed-right::after,.dashed-top::after,.dashed::after,.solid-bottom::after,.solid-left::after,.solid-right::after,.solid-top::after,.solid::after,.solids-bottom::after,.solids-left::after,.solids-right::after,.solids-top::after,.solids::after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;border-radius:inherit;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box}
.solid::after{border:1px solid var(--border-color)}
.solid-top::after{border-top:1px solid var(--border-color)}
.solid-right::after{border-right:1px solid var(--border-color)}
.solid-bottom::after{border-bottom:1px solid var(--border-color)}
.solid-left::after{border-left:1px solid var(--border-color)}
.solids::after{border:4px solid var(--border-color)}
.solids-top::after{border-top:4px solid var(--border-color)}
.solids-right::after{border-right:4px solid var(--border-color)}
.solids-bottom::after{border-bottom:4px solid var(--border-color)}
.solids-left::after{border-left:4px solid var(--border-color)}

/* =================
          布局
 ==================== */

/*  -- flex弹性布局 -- */
.flex{display:flex}
.inline-flex{display:inline-flex}
.flex-row{flex-direction:row}
.flex-row-reverse{flex-direction:row-reverse}
.flex-col{flex-direction:column}
.flex-col-reverse{flex-direction:column-reverse}
.flex-wrap{flex-wrap:wrap}
.flex-wrap-reverse{flex-wrap:wrap-reverse}
.flex-nowrap{flex-wrap:nowrap}
.justify-start{justify-content:flex-start}
.justify-end{justify-content:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.justify-around{justify-content:space-around}
.justify-evenly{justify-content:space-evenly}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.items-baseline{align-items:baseline}
.items-stretch{align-items:stretch}
.content-start{align-content:flex-start}
.content-end{align-content:flex-end}
.content-center{align-content:center}
.content-between{align-content:space-between}
.content-around{align-content:space-around}
.content-stretch{align-content:stretch}

.flex-grow{flex-grow:1}
.flex-grow-0{flex-grow:0}
.flex-shrink{flex-shrink:1}
.flex-shrink-0{flex-shrink:0}
.flex-basis-auto{flex-basis:auto}
.flex-basis-0{flex-basis:0}
.flex-basis-full{flex-basis:100%}
.self-auto{align-self:auto}
.self-start{align-self:flex-start}
.self-end{align-self:flex-end}
.self-center{align-self:center}
.self-stretch{align-self:stretch}
.self-baseline{align-self:baseline}
.flex-center{display:flex;justify-content:center;align-items:center}
.flex-middle{display:flex;align-items:center}
.flex-between{display:flex;justify-content:space-between}
.flex-around{display:flex;justify-content:space-around}
.flex-1{flex:1 1 0%}
@media (min-width:640px){.sm\:flex{display:flex}
.sm\:flex-row{flex-direction:row}
.sm\:justify-center{justify-content:center}
}
@media (min-width:768px){.md\:flex{display:flex}
.md\:flex-col{flex-direction:column}
.md\:items-end{align-items:flex-end}
}
@media (min-width:1024px){.lg\:flex{display:flex}
.lg\:justify-between{justify-content:space-between}
.lg\:flex-wrap{flex-wrap:wrap}
}

.y-scroll{overflow-y: scroll;}
.anticon{cursor:pointer}
.w100{width:100%}
.rl-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.font-weight{font-weight:700!important}
.t-c{text-align:center}
.t-l{text-align:left}
.t-r{text-align:right}
.f-l{float:left}
.f-r{float:right}
.m-auto{margin: 0 auto;}
.m-df{margin:10px}
.m-0{margin:0!important}
.pb-0{padding-bottom:0!important}

.is-clcik {color: #ff873d;cursor: pointer;}
  /**标题吸顶 */
.title-sticky{position:sticky;top:0;z-index:99;background-color:#fff}

 /**标题 */
.title-row{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:20px;align-items:center}
.title-row .title-info{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}
.title-row .title-line{width:3px;background:-webkit-linear-gradient(309deg,var(--primary-color),var(--primary-active-color));background:linear-gradient(141deg,var(--primary-color),var(--primary-active-color));height:18px;display:inline-block;border-radius:5px;margin-left:8px;margin-right:8px}
.title-row .title-left{flex:1;text-align:left;align-items:center}
.title-row .title-left .title-text{font-size:16px;color:#000;font-weight:600;position:relative}
.title-row .title-right{flex:1;text-align:right}
.title-row .title-right .title-right-text{font-size:12px}



 /**卡片 */
.top-panel{box-shadow:0 0 12px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.12);border-radius:4px;text-align:left}
.noborder{border:none !important;}
.top-panel>.layui-card-header{border-bottom:none;padding:10px 15px 0 15px;color:var(--text-color)}
.top-panel>.layui-card-body{height:60px}
.top-panel .top-panel-content{display:flex}
.top-panel .top-panel-subtitle{color:#adadad}
.top-panel .top-panel-tips{text-align:right}
.top-panel .top-panel-icon{width:58px}


 /* .top-panel-number {line-height:60px;font-size:30px;border-right:1px solid #eceff9;} */
 /* 搜索框 */
 .search-box-wrapper{position:relative;margin:10px 0 4px 0}
.search-box-body{height:42px;overflow:hidden;padding-right:220px}
.search-box-body .layui-input-inline{margin-right:0}
.search-box-body.more{padding-right:0;height:auto;overflow:visible}
.search-box-btns{margin-right:0;position:absolute;bottom:0;right:15px;display:flex;justify-content:right;align-items:center}
.search-box-btns .layui-btn{letter-spacing:4px}
.switch-wrapper{display:flex;align-items:center;justify-content:right;font-size:14px;color:#00000073;white-space:nowrap;margin-right:10px;cursor:pointer}


 /**必填红点 */
 /* .layuimini-form .layui-form-item .required:after{content:'*';color:red;position:absolute;margin-right:4px;font-weight:700;line-height:1.8em;top:6px;right:0} */
 .layuimini-form .layui-form-item .required:before {
    display: inline-block;
    margin-right: 4px;
    color: #ff4d4f;
    font-size: 14px;
    font-family: SimSun, sans-serif;
    line-height: 1;
    content: "*";
}
/* .layuimini-form .layui-form-item .layui-form-label.required{padding-left:10px} */
.layuimini-form .layui-form-item .layui-form-label{width:120px!important}
.layuimini-form .layui-form-item.top-label .layui-form-label{width:100%!important;text-align:left}
.layuimini-form .layui-form-item.top-label .layui-input-block{margin-left:0!important}
.layuimini-form .layui-form-item .layui-input-block{margin-left:150px!important}
.layuimini-form .layui-form-item .layui-input-block>tip{display:inline-block;margin-top:10px;line-height:10px;font-size:10px;color:#a29c9c}

.p-relative{position: relative;}
/**
 * 顶部标签
 */
.label-top.layuimini-form .layui-form-item .layui-form-label {width: 100% !important;text-align: left;}
.label-top.layuimini-form .layui-form-item .layui-input-block {margin-left: 0 !important;}
.label-top .layui-form-select .layui-edge {margin-top: 15px !important}
/* 数字按钮特殊处理 */
.label-top .layui-input-wrap .layui-input-number .layui-icon {height: 16px;}
.label-top .layui-input-wrap .layui-input-suffix.layui-input-split {height: 32px;top: 38px;}

.form{display:flex;margin-top:20px;gap:20px}
.form-item{display:flex;padding:25px;box-sizing:border-box;width:426px;background:#f7f7f7;overflow:hidden;border-radius:5px}
.form-item .icon{background:var(--primary-color);width:88px;height:88px;border-radius:5px;text-align:center;line-height:88px;-webkit-box-flex:0;-ms-flex:0 0 88px;flex:0 0 88px;float:left}
.form-item .icon img{width:60px;height:60px;vertical-align:middle}
.form-item .content{margin-left:20px;width:100%;height:100%}
.form-item .title{font-weight:400;font-size:14px}
.form-item .desc{font-size:12px;margin-top:10px;color:#bcbcbc}
.form-item .value{font-weight:800;font-size:30px;vertical-align:middle;margin-left:5px}
.form-item .text_btn{margin-top:10px;cursor:pointer;text-align:right;float:right}
.layui-bg-orange-500 {
    background: rgba(255, 135, 61, 0.05);
}

.layui-bg-orange-500 .title-row .title-line {
    background: #FF873D !important;
}

.layui-bg-red-500 {
    background: rgba(255, 77, 79, 0.05);
}

.layui-bg-red-500 .title-row .title-line {
    background: #FF4D4F !important;
}

.layui-bg-green-500 {
    background: rgba(82, 196, 26, 0.05);
}

.layui-bg-green-500 .title-row .title-line {
    background: #52C41A !important;
}

.layui-bg-blue-500 {
    background: rgba(0, 127, 255, 0.05);
}